package com.dykj.fireFighting.api.elasticsearch.devHis.service;


import com.dykj.fireFighting.api.elasticsearch.devHis.entity.EsDevHis;
import com.dykj.fireFighting.common.core.vo.PageVo;

import java.util.List;

/**
 * 实时报警Service
 * Created by macro on 2018/6/19.
 */
public interface EsDevHisService {

    /**
     * 从mq中导入所有信息到ES
     */
    EsDevHis importAll(EsDevHis esDevHis);

    PageVo<EsDevHis> searchByCenterId(String id,String isRead,String beginDate,String endDate);

    PageVo<EsDevHis> search(String keyword, String deviceName, Integer pageNum, Integer pageSize,String beginDate,String endDate);

    PageVo<EsDevHis> searchGz(String keyword, String isRead, Integer pageNum, Integer pageSize);

    PageVo<EsDevHis> searchOther(String keyword, Integer pageNum, Integer pageSize);

    PageVo<EsDevHis> wbSearchGz(List<String> unitId, String isRead, Integer pageNum, Integer pageSize);

    PageVo<EsDevHis> wbSearchOther(List<String> unitId, Integer pageNum, Integer pageSize);

    PageVo<EsDevHis> centerSearch(String keyword, String unitId, String deviceName, Integer pageNum, Integer pageSize,
                                  String beginDate,String endDate,String lx);

    /**
     * 实时报警接口记录列表
     *
     * @param sj
     * @param bjzt
     * @param status
     * @param unitId
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageVo<EsDevHis> queryList(String sj, String bjzt, String status, String devCode, String unitId,
                               Integer pageNum, Integer pageSize,String devName,String devType,String lx);

    /**
     * 更新es 内容
     *
     * @param esDevHis
     */
    void updateEsDevHis(EsDevHis esDevHis);
    /**
     * 更新es 内容
     *
     * @param esDevHis
     */
    void updateEsDevHisIsRead(EsDevHis esDevHis);
    EsDevHis getByDevHisId(String id);

    void createMapping();

    PageVo<EsDevHis> searchByCenterIdNew (String centerId, String unitId, String deviceName, Integer pageNum, Integer pageSize, String beginDate, String endDate);
}
